home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / HAMRADIO / LOGBOOK.ZIP / OBLAST.PRG < prev    next >
Text File  |  1986-06-22  |  5KB  |  171 lines

  1. *OBLAST.PRG CALLED FROM LOGBOOK/LOGAWARD VERSION 851203
  2. STORE 192 TO oblastm
  3.  
  4. DO WHILE task <> '*'
  5.    ERASE
  6.    @ 5,11 SAY  'G3ZCZ OBLAST AWARD PACKAGE VERSION 1.4'
  7.    @ 7,1 SAY  'Default OBLAST database is'
  8.    @ 7,30 SAY oblast
  9.    @ 8,1 SAY 'Default LOGBOOK is'
  10.    @ 8,30 SAY logbook
  11.    @ 10,1 SAY 'UPDATE OBLAST RECORDS                         U'
  12.    @ 11,1 SAY 'CREATE A NEW OBLAST DATABASE                  C'
  13.    @ 12,1 SAY 'PRINT OBLAST RECORDS                          P'
  14.    @ 20,1 SAY 'QUIT THIS MENU                                *'
  15.    @ 13,1 SAY 'CHANGE OBLAST DATABASE                        D'
  16.    @ 14,1 SAY 'CHANGE LOGBOOK                                L'
  17.    @ 15,1 SAY 'DISPLAY FILES ON DISK DRIVE                   F'
  18.    @ 22,1 SAY 'QRU'
  19.  
  20.    @ 22,5 GET task
  21.    READ
  22.  
  23.    DO CASE
  24.  
  25.       CASE task ='F'
  26.            ERASE
  27.            ACCEPT 'WHICH DRIVE ' TO diskdrive
  28.            STORE diskdrive + ':' TO diskdrive
  29.            DISPLAY FILES ON &diskdrive
  30.            RELEASE diskdrive
  31.            WAIT
  32.  
  33.       CASE task = 'L'
  34.            @ 22,1 SAY 'Which Log file '
  35.            @ 22,15 GET logbook
  36.            READ
  37.            IF FILE (logbook)
  38.               @ 22,1 SAY '                          '
  39.            ELSE
  40.               @ 22,1 SAY ' '
  41.               ? 'ERROR, ',logbook, 'IS NOT PRESENT ON DRIVE'
  42.               WAIT
  43.            ENDIF
  44.  
  45.       CASE task = 'C'
  46.            STORE 'OBLAST' TO boblast
  47.            IF FILE (boblast)
  48.               USE OBLAST
  49.               ACCEPT 'What is the name of the new OBLAST file ? ' TO oblast
  50.               IF FILE (oblast)
  51.                  ? 'ERROR, OBLAST FILE ',oblast,' EXISTS ON DEFAULT DRIVE'
  52.               ELSE
  53.                  COPY STRUCTURE TO &oblast
  54.                  USE &oblast
  55.                  STORE '          ' TO blank
  56.                  STORE 1 TO iteration
  57.                  DO WHILE iteration < oblastm
  58.                     APPEND blank
  59.                     STORE iteration + 1 to iteration
  60.                  ENDDO
  61.                  RELEASE blank,iteration
  62.                  USE
  63.               ENDIF
  64.            ELSE
  65.                  ? 'ERROR BLANK OBLAST FILE IS NOT ON DEFAULT DRIVE'
  66.                  WAIT
  67.            ENDIF
  68.            RELEASE boblast
  69.  
  70.       CASE task = 'D'
  71.          @ 22,1 SAY "Which OBLAST file "
  72.          @ 22,25 GET oblast
  73.          READ
  74.          IF FILE (oblast)
  75.          ELSE
  76.             ? 'ERROR OBLAST FILE IS NOT ON DEFAULT DRIVE'
  77.             WAIT
  78.          ENDIF
  79.  
  80.       CASE task = 'U'
  81.          IF logbook = '      '
  82.             @ 23,1  SAY 'OPEN A LOGBOOK FIRST'
  83.          ELSE
  84.             IF FILE (oblast)
  85.                DO OBLASTENT
  86.             ELSE
  87.                ? 'ERROR OBLAST FILE IS NOT ON DEFAULT DRIVE'
  88.                WAIT
  89.             ENDIF
  90.          ENDIF
  91.  
  92.       CASE task = 'P'
  93.          IF FILE (oblast)
  94.             * OBLASTPR VER 851003 THIS PROGRAM PRINTS AN OBLAST file
  95.             ERASE
  96.             STORE ' ' TO choice
  97.             @ 5,1 SAY ' '
  98.             ACCEPT 'Whole thing, worked/QSL-d, or QSL-d (T,W,Q)  ' TO choice
  99.             @ 10,1 SAY ' '
  100.  
  101.             STORE ' ' TO df
  102.             ACCEPT 'DO you want hard copy (Y/N) ?' TO df
  103.             IF df = 'Y'
  104.                SET PRINT ON
  105.             ENDIF
  106.  
  107.             STORE 99 TO linecount
  108.             STORE  1 TO pagecount
  109.             STORE  0 TO qsled
  110.             STORE  0 TO worked
  111.  
  112.             USE  &oblast
  113.             DO WHILE .NOT.EOF
  114.                IF linecount > 60
  115.                   EJECT
  116.                   ? 'OBLAST  PRINTOUT',callsign,' PAGE',pagecount
  117.                   IF choice = 'Q'
  118.                      ?? ' QSL STATUS'
  119.                   ENDIF
  120.                   STORE pagecount + 1 TO pagecount
  121.                   ?
  122.                   ? '         CALL       DATE  TIME BND MODE STATUS'
  123.                   ? '----------------------------------------------'
  124.                   STORE  5 TO linecount
  125.                ENDIF
  126.  
  127.                IF choice <> 'T' .AND. dstate = ' '
  128.                   *
  129.                ELSE
  130.                   IF dstate = ' ' .AND. choice = 'Q'
  131.                      *
  132.                   ELSE
  133.                      ? #,dcall,ddate,dtime,dband,dmode
  134.                      STORE linecount + 1 TO linecount
  135.                   ENDIF
  136.                ENDIF
  137.                IF dstate = 'R'
  138.                   IF choice = 'Q'
  139.                   ELSE
  140.                      ?? dstate
  141.                   ENDIF
  142.                   STORE qsled + 1 TO qsled
  143.                   STORE worked + 1 TO worked
  144.                ENDIF
  145.                IF dstate = '-'
  146.                   STORE worked + 1 TO worked
  147.                ENDIF
  148.                SKIP
  149.             ENDDO
  150.             ?
  151.             ?
  152.             ? worked,' WORKED     ',qsled,'QSL-D'
  153.             ?
  154.             EJECT
  155.             SET PRINT OFF
  156.             WAIT
  157.             RELEASE choice,df,linecount,pagecount,worked,qsled
  158.             USE
  159.          ELSE
  160.             ? 'ERROR OBLAST FILE IS NOT ON DEFAULT DRIVE'
  161.             WAIT
  162.          ENDIF
  163.  
  164.  
  165.    ENDCASE
  166.  
  167. ENDDO
  168. STORE ' ' TO task
  169. RELEASE oblastm
  170. RETURN
  171.